import { defineStore } from "pinia"
import { storeLocalConfig } from "@mind/utils/mind-store"

export const useMind = defineStore("mind-map", {
  state: () => ({
    mindMapData: null, // 思维导图数据
    isHandleLocalFile: false, // 是否操作的是本地文件
    localConfig: {
      // 本地配置
      isZenMode: false, // 是否是禅模式
      // 是否开启节点富文本
      openNodeRichText: true,
      // 鼠标行为
      useLeftKeySelectionRightKeyDrag: false,
      // 是否显示滚动条
      isShowScrollbar: false,
      // 是否开启手绘风格
      isUseHandDrawnLikeStyle: false
    },
    activeSidebar: "", // 当前显示的侧边栏
    isDark: false, // 是否是暗黑模式
    isOutlineEdit: false, // 是否是大纲编辑模式
    isReadonly: false // 是否只读
  }),

  actions: {
    // 设置思维导图数据
    setMindMapData(data) {
      this.mindMapData = data
    },

    // 设置操作本地文件标志位
    setIsHandleLocalFile(data) {
      this.isHandleLocalFile = data
    },

    // 设置本地配置
    setLocalConfig(data) {
      this.localConfig = {
        ...this.localConfig,
        ...data
      }
      storeLocalConfig(this.localConfig)
    },
    // 设置暗黑模式
    setIsDark(data) {
      this.isDark = data
    },

    // 设置大纲编辑模式
    setIsOutlineEdit(data) {
      this.isOutlineEdit = data
    },

    // 设置是否只读
    setIsReadonly(data) {
      this.isReadonly = data
    }
  }
})
